In rendering a scene including deep images, a scene rendering system may utilize a ray tracer in order to accumulate multiple shading samples into the correct depth sample for each shading point. Because the rendering system typically lacks prior knowledge of the number of depth samples that a particular pixel of the rendered scene should have, this process often requires that many rays be traced for each pixel, and that the rendering system dynamically adapt to the results of the ray tracing.
Unfortunately, such an approach introduces considerable complexity and imposes significant processing and data storage costs. For example, all or parts of a depth buffer used to render the scene may need to be locked and resized during the rendering. Moreover, substantial additional data handling is required in order to correctly accumulate shading samples when the depth buffer layout is being modified dynamically. As an added disadvantage, such an approach fails to enable artistic control over the rendered scene in situations in which some portions of the deep images might be enhanced by using more or fewer depth samples than the rendering system accumulates.